#ifndef _ENCODING_MANAGER_H
#define _ENCODING_MANAGER_H
#include"fonts_manager.h"

typedef struct EncodingOpr {
    char* name;
    int iHeadLen;
    int (*isSupport)(unsigned char *pucBufHead);
	int (*GetCodeFrmBuf)(unsigned char *pucBufStart, unsigned char *pucBufEnd, unsigned int *pdwCode);
    PT_FontOpr ptFontOprSupportedHead;
    struct EncodingOpr* ptNext;
} T_EncodingOpr, *PT_EncodingOpr;

int Utf8EncodingInit();
int AsciiEncodingInit();

int  Utf16leEncodingInit();
int  Utf16beEncodingInit();
int  RegisterEncodingOpr(PT_EncodingOpr ptEncodingOpr);
void ShowEncodingOpr(void);
int EncodingInit(void);
PT_EncodingOpr SelectEncodingOprForFile(unsigned char *pucFileBufHead);
int AddFontOprForEncoding(PT_EncodingOpr ptEncodingOpr, PT_FontOpr ptFontOpr);
#endif